/*
 * @Copyright    : Blueray Med .ltd
 * @file name    : Filename
 * @Date         : 2022-10-19 16:03:50
 * @LastEditor   : Liam
 * @LastDate     : date
 * @Describe     : 不写变量地址
 */
#ifndef __BTN_HANDLER_H__
#define __BTN_HANDLER_H__
#include "sys.h"
#include "uart2.h"
#include "Protocol.h"
#include "btn_scan.h"
#include "sys_handler.h"

/************** 宏定义 ***************************************************/
#define OPEN 1
#define CLOSE 0
#define CLEAR 255
#define LED_DEVICE 1
#define ENCODER_DEVICE 2
#define HANDLE_DEVICE 3

#define CLEAR 255
#define MINIAO_MODE 1
#define GONGQIANG_MODE 2
#define FUQIANG_MODE 3
#define YINGGUANG1_MODE 4
#define YINGGUANG2_MODE 5
#define ZIDINGYI_MODE 6
#define ZIDINGYI_YINGGUANG_MODE 7

#define HAND_ENABLE 0x0016       /* 是否有触摸标志位 */
/* 读写 */
#define FUNCTION_MODE 0x1000  /* 功能 */
#define ENDOSCOPE_MODE 0x1001 /* 内窥镜模式 */
/* LED旋钮屏幕设置 */
#define LEVEL_WHITE 0x1002
#define LEVEL_405 0x1003
#define LEVEL_488 0X1004
#define LEVEL_525 0x1005
#define LEVEL_640 0x1006
#define LIGHT_MODE 0x1007      /* 灯光模式 */
#define LIGHT_CONNECT 0x1008   /* 灯光连接 */
#define LIGHT_INIT_STEP 0x1009 /* 灯光初始化步骤 */
#define WRITE_USELESS 0x100A   /* 写状态用不到 */
#define CODE_SOURCE 0x100B     /* 代码来源 */
#define SEND_PROJECT_BTN_VAL 0x100D /* 后台调节按键键值 */

#define MINIAO_SET_VALUE 0x1010       /* 泌尿模式设置参数 */
#define GONGQIANG_SET_VALUE 0x1020    /* 宫腔模式设置参数 */
#define FUQIANG_SET_VALUE 0x1030      /* 腹腔模式设置参数 */
#define YINGGUANG1_SET_VALUE 0x1040   /* 荧光1模式设置参数 */
#define YINGGUANG2_SET_VALUE 0x1050   /* 荧光2模式设置参数 */
#define ZIDINGYI_SET_VALUE 0x1060     /* 自定义模式设置参数 */
#define YINGGUANGZDY_SET_VALUE 0x1070 /* 荧光自定义模式设置参数 */

#define SEND_RESET 0x3000 /* 重置按键键值 */

/* 其它宏定义 */
#define PAGE_BTN_NUM 0X6000
#define MAIN_PAGE_BTN 0X6001
#define PROJECT_BTN_VAL 0X6002
#define RESET_BTN_VAL 0X6003

#define LANGUAGE_MODE 0X7000

/* 页面枚举代替宏定义 */
typedef enum
{
    PIC_NUM_BLACK,
    PIC_NUM_OPEN,
    PIC_NUM_MAIN,
    PIC_NUM_MINIAO,
    PIC_NUM_SYSTEM,
    PIC_NUM_COLOR,
    PIC_NUM_PASSWORD0,
    PIC_NUM_PASSWORD1,
    PIC_NUM_PASSWORD2,
    PIC_NUM_PASSWORD3,
    PIC_NUM_PASSWORD4,
    PIC_NUM_PASSWORD5,
    PIC_NUM_PASSWORD6,
    PIC_NUM_BTN,
    PIC_NUM_PROJECT,
    PIC_NUM_9KEY,
    PIC_NUM_ZIDINGYI,
    PIC_NUM_GONGQIANG,
    PIC_NUM_FUQIANG,
    PIC_NUM_YINGGUANG1,
    PIC_NUM_YINGGUANG2,
    PIC_NUM_YINGGUANGZDY,
    PIC_NUM_PROJECT_BTN
} PageNum;

/* 函数声明 */
void page_to_page_handler_function(u16 pagenum_now_val, u16 pagenum_btn_val);
void select_mode_enter(u16 mode_val, u16 pagenum_val);
void mode_page_set(u16 mode_val);
void enter_set(void);
void exit_set(void);
void send_function(void);
void send_pressure_flow_handler(void);
void send_endoscope_mode(u16 mode);
void send_btn_board_function(u16 page_num);
void send_main_endoscope_mode(u16 page_num,u16 source);
void send_reset_btn(void);
void the_gui_system_init(void);
#endif
